<!--
  ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
 
<div #popoverDiv class="popover {{ effectivePlacement }}"
     [style.top]="top + 'px'"
     [style.left]="left + 'px'"
     [class.in]="isIn"
     [class.fade]="animation"
     [style.display] = "displayType"
     role="popover"
     [ngClass]="{'hide-arrow':hideArrow}">
    <div [hidden]="!closeOnMouseOutside" class="virtual-area"></div>
    <div class="arrow" *ngIf="!hideArrow"></div>
    <div class="popover-header">
        <span class="title">{{ title }}</span>
        <span class="close-button" (click)="popover.hide()"></span>
    </div>
    <ng-content></ng-content>
    <div class="popover-footer" *ngIf="buttons">
        <button *ngFor="let buttonName of buttonsNames"
                class="tlv-btn {{buttons[buttonName].cssClass}}"
                [attr.data-tests-id]="'filter-' + buttons[buttonName].text.toLowerCase() + '-button'"
                [disabled] = "buttons[buttonName].getDisabled && buttons[buttonName].getDisabled()"
                (click) = "buttons[buttonName].callback()">{{buttons[buttonName].text}}</button>
    </div>
</div>
